home *** CD-ROM | disk | FTP | other *** search
/ Computer Select (Limited Edition) / Computer Select.iso / msj / v06n06 / appgen.exe / PVSTOCK.EXE / STOCK.C < prev    next >
Encoding:
C/C++ Source or Header  |  1991-11-01  |  6.3 KB  |  230 lines

  1.  
  2.      /********************************************************************
  3.       *                                                                  *
  4.       *   Source File: stock.c                                           *
  5.       *   Description: Marc's Stock Application                          *
  6.       *   Date:        Wed Jul 31 18:58:47 1991                          *
  7.       *                                                                  *
  8.       ********************************************************************/
  9.  
  10. #include "windows.h"
  11. #include "pv.h"
  12. #include <time.h>
  13. #include "stock.h"
  14.  
  15.  
  16. //VARIABLES_BEGIN
  17. //VARIABLES_END
  18.  
  19. long FAR PASCAL MainWndProc(HWND, unsigned, WORD, LONG);
  20. HANDLE   hInst;
  21. HANDLE   hAccel;
  22.  
  23. int PASCAL WinMain(hInstance, hPrevInstance, lpszCmdLine, nCmdShow)
  24.     HANDLE     hInstance, hPrevInstance;
  25.     LPSTR      lpszCmdLine;
  26.     int        nCmdShow;
  27. {
  28. static char szAppName[] = "stock";
  29. //BEGINFUNCTION_BEGIN
  30. //BEGINFUNCTION_END
  31.  
  32. MSG      msg;
  33. HWND     hWndMain;
  34. WNDCLASS wndclass;
  35.  
  36.    hInst = hInstance;    // Store the application instance handle 
  37.  
  38.    if(!hPrevInstance)
  39.    {
  40.       wndclass.style           = CS_HREDRAW | CS_VREDRAW;
  41.       wndclass.lpfnWndProc     = MainWndProc;
  42.       wndclass.cbClsExtra      = 0;
  43.       wndclass.cbWndExtra      = 0;
  44.       wndclass.hInstance       = hInstance;
  45.       wndclass.hCursor         = LoadCursor(NULL, IDC_ARROW);
  46.       wndclass.hIcon           = LoadIcon(hInstance, "c:\msj\stock\stock");
  47.       wndclass.hbrBackground   = CreateSolidBrush((LONG)55551);
  48.       wndclass.lpszMenuName    = "stock";
  49.       wndclass.lpszClassName   = szAppName;
  50.  
  51.       if(!RegisterClass(&wndclass))
  52.          return FALSE;
  53.    }
  54.    lpfnMakeLongPointer = MakeProcInstance(MakeLongPointer, hInst);
  55.    hAccel = LoadAccelerators(hInstance, "stock");
  56.  
  57.    //INITVIEW_BEGIN
  58.    //INITVIEW_END
  59.  
  60.    if(!(hWndMain = CreateWindow(szAppName,
  61.                        "MSJ Stock App - ProtoView Version",
  62.                        WS_OVERLAPPEDWINDOW,
  63.                        CW_USEDEFAULT, 0,
  64.                        CW_USEDEFAULT, 0,
  65.                        NULL, NULL, hInstance, NULL)))
  66.         return FALSE;
  67.  
  68.    //MAINWND_BEGIN
  69.    //MAINWND_END
  70.    ShowWindow(hWndMain, nCmdShow);
  71.    UpdateWindow(hWndMain);
  72.  
  73.    while(GetMessage(&msg, NULL, 0, 0))
  74.          if(!TranslateAccelerator(hWndMain, hAccel, &msg))
  75.           {
  76.              TranslateMessage(&msg);
  77.              DispatchMessage(&msg);
  78.           }
  79.  
  80.    //APPTERM_BEGIN
  81.    //APPTERM_END
  82.  
  83.  
  84.    return msg.wParam;
  85. }
  86.  
  87. long FAR PASCAL MainWndProc(HWND hWnd, unsigned wMessage, WORD wParam, LONG lParam)
  88. {
  89. int ReturnCode;
  90. //WINDOWPROCVARIABLES_BEGIN
  91. //WINDOWPROCVARIABLES_END
  92.  
  93. switch(wMessage)
  94.    {
  95.        //WINDOWPROC_BEGIN
  96.        //WINDOWPROC_END
  97.  
  98.        case WM_COMMAND :
  99.           if(!LOWORD(lParam))
  100.           {                             // Process Menu Commands
  101.              switch(wParam)             // Determine which Menu ID
  102.              {
  103.              case IDM_NEW :
  104.                 if(fnGRAPH(hWnd))
  105.                 {
  106.                 //PROCESSMENU101_BEGIN
  107.                 //PROCESSMENU101_END
  108.                 }
  109.                 break;
  110.              case IDM_ADDTICK :
  111.                 if(fnA_TICK(hWnd))
  112.                 {
  113.                 //PROCESSMENU102_BEGIN
  114.                 //PROCESSMENU102_END
  115.                 }
  116.                 break;
  117.              case IDM_OPEN :
  118.                 if(fnOPEN(hWnd))
  119.                 {
  120.                 //PROCESSMENU103_BEGIN
  121.                 //PROCESSMENU103_END
  122.                 }
  123.                 break;
  124.              case IDM_EXIT :
  125.                 {
  126.                 //PROCESSMENU104_BEGIN
  127.                   PostQuitMessage(0);  
  128.                 //PROCESSMENU104_END
  129.                 }
  130.                 break;
  131.              case IDM_CHANGETICK :
  132.                 if(fnC_TICK(hWnd))
  133.                 {
  134.                 //PROCESSMENU105_BEGIN
  135.                 //PROCESSMENU105_END
  136.                 }
  137.                 break;
  138.              case IDM_OPTIONS :
  139.                 if(fnGRAPH(hWnd))
  140.                 {
  141.                 //PROCESSMENU106_BEGIN
  142.                 //PROCESSMENU106_END
  143.                 }
  144.                 break;
  145.              case IDM_COLORS :
  146.                 if(fnCOLOR(hWnd))
  147.                 {
  148.                 //PROCESSMENU107_BEGIN
  149.                 //PROCESSMENU107_END
  150.                 }
  151.                 break;
  152.              case IDM_FONTS :
  153.                 if(fnFONT(hWnd))
  154.                 {
  155.                 //PROCESSMENU108_BEGIN
  156.                 //PROCESSMENU108_END
  157.                 }
  158.                 break;
  159.              case IDM_SAVE :
  160.                 {
  161.                 //PROCESSMENU109_BEGIN
  162.                 //PROCESSMENU109_END
  163.                 }
  164.                 break;
  165.              case IDM_PRINT :
  166.                 {
  167.                 //PROCESSMENU110_BEGIN
  168.                 //PROCESSMENU110_END
  169.                 }
  170.                 break;
  171.              case IDM_CLOSE :
  172.                 {
  173.                 //PROCESSMENU111_BEGIN
  174.                 //PROCESSMENU111_END
  175.                 }
  176.                 break;
  177.              case IDM_TILE :
  178.                 {
  179.                 //PROCESSMENU112_BEGIN
  180.                 //PROCESSMENU112_END
  181.                 }
  182.                 break;
  183.              case IDM_CASCADE :
  184.                 {
  185.                 //PROCESSMENU113_BEGIN
  186.                 //PROCESSMENU113_END
  187.                 }
  188.                 break;
  189.              case IDM_ARRANGEICON :
  190.                 {
  191.                 //PROCESSMENU114_BEGIN
  192.                 //PROCESSMENU114_END
  193.                 }
  194.                 break;
  195.              case IDM_CLOSEALL :
  196.                 {
  197.                 //PROCESSMENU115_BEGIN
  198.                 //PROCESSMENU115_END
  199.                 }
  200.                 break;
  201.  
  202.              }
  203.           }
  204.           else
  205.           {
  206.                //CUSTOMCOMMAND_BEGIN
  207.                //CUSTOMCOMMAND_END
  208.           }
  209.            
  210.           break;
  211.  
  212.        case WM_DESTROY :
  213.           PostQuitMessage(0);
  214.           break;
  215.        default :
  216.             return DefWindowProc(hWnd, wMessage, wParam, lParam);
  217.    }
  218.    return 0L;
  219. }
  220.  
  221. BOOL FAR PASCAL MakeLongPointer()
  222. {
  223. static void far *Ptr;
  224.    Ptr = &Ptr;
  225.    return(HIWORD(Ptr));
  226. }
  227.  
  228. //CUSTOMCODE_BEGIN
  229. //CUSTOMCODE_END
  230.